package com.pro.db.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 板块表
 * </p>
 *
 * @author wanglei
 * @since 2020-01-07
 */
public class BbsForum implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    private Integer pid;

    /**
     * 站点id
     */
    private Integer siteId;

    /**
     * 名字
     */
    private String name;

    /**
     * 描述
     */
    private String description;

    /**
     * 封面
     */
    private String coverUrl;

    /**
     * 图标
     */
    private String iconUrl;

    /**
     * 短链接
     */
    private String shortLink;

    /**
     * 标签
     */
    private String label;

    /**
     * 关键字
     */
    private String keywords;

    /**
     * 备注
     */
    private String remark;

    /**
     * 子版块数量
     */
    private Integer subForumNum;

    /**
     * 帖子数
     */
    private Integer topicNum;

    /**
     * 回复数
     */
    private Integer commentNum;

    /**
     * 是否展示
     */
    private Integer pushStatus;

    /**
     * 展示顺序
     */
    private Integer pushSort;

    /**
     * 是否热门
     */
    private Integer hotTag;

    /**
     * 创建者id
     */
    private Integer createUserId;

    /**
     * 创建者账号
     */
    private String createUsername;

    /**
     * 创建者昵称
     */
    private String createNickname;

    /**
     * 创建者头像
     */
    private String createAvatar;

    /**
     * 创建时间
     */
    private LocalDateTime addTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 管理员id
     */
    private Integer adminId;

    /**
     * 管理员名字
     */
    private String adminName;

    /**
     * 逻辑删除
     */
    private Boolean deleted;



    @TableField(exist = false)
    private List<BbsForum> subForumList = new ArrayList<>();

    /**
     * 今日帖子数
     */
    @TableField(exist = false)
    private Integer todayTopicNum;

    /**
     * 今日排名
     */
    @TableField(exist = false)
    private Integer rankNum;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getSiteId() {
        return siteId;
    }

    public void setSiteId(Integer siteId) {
        this.siteId = siteId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }

    public String getIconUrl() {
        return iconUrl;
    }

    public void setIconUrl(String iconUrl) {
        this.iconUrl = iconUrl;
    }

    public String getShortLink() {
        return shortLink;
    }

    public void setShortLink(String shortLink) {
        this.shortLink = shortLink;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getTopicNum() {
        return topicNum;
    }

    public void setTopicNum(Integer topicNum) {
        this.topicNum = topicNum;
    }

    public Integer getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(Integer pushStatus) {
        this.pushStatus = pushStatus;
    }

    public Integer getPushSort() {
        return pushSort;
    }

    public void setPushSort(Integer pushSort) {
        this.pushSort = pushSort;
    }

    public Integer getHotTag() {
        return hotTag;
    }

    public void setHotTag(Integer hotTag) {
        this.hotTag = hotTag;
    }

    public Integer getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Integer createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateUsername() {
        return createUsername;
    }

    public void setCreateUsername(String createUsername) {
        this.createUsername = createUsername;
    }

    public String getCreateNickname() {
        return createNickname;
    }

    public void setCreateNickname(String createNickname) {
        this.createNickname = createNickname;
    }

    public String getCreateAvatar() {
        return createAvatar;
    }

    public void setCreateAvatar(String createAvatar) {
        this.createAvatar = createAvatar;
    }

    public LocalDateTime getAddTime() {
        return addTime;
    }

    public void setAddTime(LocalDateTime addTime) {
        this.addTime = addTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getAdminId() {
        return adminId;
    }

    public void setAdminId(Integer adminId) {
        this.adminId = adminId;
    }

    public String getAdminName() {
        return adminName;
    }

    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public List<BbsForum> getSubForumList() {
        return subForumList;
    }

    public void setSubForumList(List<BbsForum> subForumList) {
        this.subForumList = subForumList;
    }

    public Integer getSubForumNum() {
        return subForumNum;
    }

    public void setSubForumNum(Integer subForumNum) {
        this.subForumNum = subForumNum;
    }

    public Integer getCommentNum() {
        return commentNum;
    }

    public void setCommentNum(Integer commentNum) {
        this.commentNum = commentNum;
    }

    public Integer getTodayTopicNum() {
        return todayTopicNum;
    }

    public void setTodayTopicNum(Integer todayTopicNum) {
        this.todayTopicNum = todayTopicNum;
    }

    public Integer getRankNum() {
        return rankNum;
    }

    public void setRankNum(Integer rankNum) {
        this.rankNum = rankNum;
    }

    @Override
    public String toString() {
        return "BbsForum{" +
        "id=" + id +
        ", siteId=" + siteId +
        ", name=" + name +
        ", description=" + description +
        ", coverUrl=" + coverUrl +
        ", iconUrl=" + iconUrl +
        ", shortLink=" + shortLink +
        ", label=" + label +
        ", keywords=" + keywords +
        ", remark=" + remark +
        ", topicNum=" + topicNum +
        ", pushStatus=" + pushStatus +
        ", pushSort=" + pushSort +
        ", hotTag=" + hotTag +
        ", createUserId=" + createUserId +
        ", createUsername=" + createUsername +
        ", createNickname=" + createNickname +
        ", createAvatar=" + createAvatar +
        ", addTime=" + addTime +
        ", updateTime=" + updateTime +
        ", adminId=" + adminId +
        ", adminName=" + adminName +
        ", deleted=" + deleted +
        "}";
    }


}
